Customizable spreadsheet table styles

ABSTRACT

Table styles provide a way to format an entire spreadsheet table quickly and easily. According to described implementations, table styles can be created and customized for repeated use in a spreadsheet application. As a result, a user does not have to manually modify multiple formatting options for each table included in one or more spreadsheets. A graphical user interface is also described that provides simple user access to existing table styles that can be modified according to the user&#39;s requirements.

BACKGROUND

Tables can be used in a spreadsheet application to display and summarizedata to a reader in an organized, comprehendible and attractive manner.To accomplish this, spreadsheet tables may include—in addition tolisting data—distinct sections such as header rows, subtotals rows,totals rows, highlighted columns and/or rows, shaded columns and/orrows, borders, linear delineations, etc.

One way to accomplish such table formatting is for a user to manuallyformat different sections of a table to create a functional andattractive look. However, if a spreadsheet or set of spreadsheetscontains multiple tables, such manual formatting becomes tedious andtime consuming. To ease this burden somewhat, a spreadsheet applicationmay include a function that predefines a table format. Then, a user mustmerely apply a predefined format to a table.

However, predefined table formats may not suit a user's exactrequirements. If a user wants to create a customized table format withcurrent spreadsheet applications, the user must either manually formatspreadsheet tables from scratch or apply manual alterations to apredefined table format. Either method requires significant time andeffort. For example, if a user prepares a spreadsheet that includes tentables and the user wants all the tables to look alike, the user musteither manually format all ten tables or format each table according toa predefined table format and then manually modify each of the tentables.

SUMMARY

The present disclosure describes a framework that allows users to createa customized table style that can be saved and easily applied to anynumber of tables in one or more spreadsheets. Like predefined tableformats, once a user has created a customized table style, the format ofthe customized table style can be applied to tables of data with aminimum of effort to instantly transform the data tables into easilyreadable and recognizable tables.

When creating a customized table style, distinct sections of a table canbe formatted separately from other sections of the table and suchsections may be formatted as a single element. Therefore, individualcells in a table do not have to be formatted separately. A row of headercells, for example, can be formatted separately from other table cells.A precedence order of table elements may be established and/or modifiedto indicate which table element format takes precedence when two or moretable elements intersect.

Also described herein are one or more graphical user interfaces throughwhich a user can easily create, save and apply customized table styles.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other aspects of the subject matter disclosed hereinwill become more readily appreciated and will become better understoodby reference to the following detailed description, when taken inconjunction with the accompanying drawings, wherein:

FIG. 1 depicts an exemplary table styles toolbar in accordance with thepresent description.

FIG. 2 depicts an exemplary menu associated with the table stylestoolbar of FIG. 1, the menu including an option to modify an existingtable style.

FIG. 3 depicts an exemplary dialog for modifying a table style.

FIG. 4 is an exemplary non-exhaustive listing of table elements that maybe formatted via the exemplary dialog shown in FIG. 3.

FIG. 5 depicts a dialog for modifying a pivot table style.

FIG. 6 is an exemplary non-exhaustive listing of pivot table elementsthat may be formatted via the exemplary dialog shown in FIG. 5.

FIG. 7 is a flow diagram depicting an exemplary methodologicalimplementation of creating a customized table style.

FIG. 8 is a block diagram depicting an exemplary general purposecomputing device that may be used in conjunction with one or moreimplementations described herein.

DETAILED DESCRIPTION

Overview

The presently described subject matter relates to techniques forcreating customized spreadsheet table styles. As used herein, the term“table style” includes any type of table style such as, for example,pivot table styles. Pivot table styles and/or pivot table reports aretypically more complicated than standard spreadsheet styles and reportsand may include subtotal row(s), a grand total row, row subheadings,column subheadings, etc. Pivot table reports allow a user to view tabledata from various axes and provide a useful tool for viewing data.

One way that is described herein to create a custom table style is toaccess a previously defined table style, such as a predefined tableformat or another custom table style. Modifications are made to thepreviously defined table style and the modified table style is savedunder a unique table style name. Thereafter, a user may create a tableof the new table style or may reformat existing tables according to thenew table style and the user does not have to manually format each tableto achieve a particular appearance.

One feature that is described herein is one that separates a table styleinto separate areas, or elements. Each of the separate elements can beformatted apart from other areas. This allows all cells in an area to beformatted together instead of having to format each cell separately,thus saving significant time and effort. This is useful, for example, toapply a color gradient across a range of cells. Typically, colorgradients have only been applied at a cell level, which cannot beproperly applied to a group of cells such as a header row. When makingmodifications to the format of an existing table style, a user must onlyindicate to which table element subsequent formatting commands apply.

Formattable spreadsheet table elements are also described in U.S. patentapplication Ser. No. 11/214,682, filed contemporaneously herewith by thepresent applicants, entitled “Formattable Spreadsheet Table Elementswith Automatic Updating.” Said application is assigned to MicrosoftCorp., the assignee of the present invention.

Customizing spreadsheet table styles is accomplished using a graphicaluser interface that is described in greater detail below. Through thegraphical user interface, a user can conveniently access a table stylestoolbar to access existing table styles, edit an existing table style tocreate a new table style or modify the existing table style, apply atable style to a table, etc. The graphical user interface also indicateswhich table elements that may be found in a table can be formatted.

The table elements listed in the graphical user interface may bedisplayed according to a precedence order that indicates which tableelement formatting is to take precedence in the event that two or moretable elements with different formatting intersect. In at least oneimplementation, the precedence order of the table element list ismodifiable so that different precedence orders may be implemented.

These and other features of customizable spreadsheet table styles aredescribed in greater detail below, with respect to the previouslydescribed figures.

Exemplary Table Styles Toolbar

FIG. 1 depicts an exemplary table styles toolbar 100 in accordance withthe present description. The table styles toolbar 100 may appear on atypical spreadsheet toolbar (not shown) or it may appear on aspreadsheet user interface (not shown) upon activation of an iconappearing on the user interface. Any manner known in the art fordisplaying a toolbar in a graphical user interface may be employed todisplay the exemplary table styles toolbar 100.

The exemplary table styles toolbar 100 includes a title bar 102 thatdescribes the contents of the table styles toolbar 100. In the presentexample, the title bar 102 includes the title “Table Styles.” A numberof table styles thumbnail images (hereinafter “thumbnails”) 104-109 areshown displayed in the exemplary table styles toolbar 100. Althoughmultiple table styles thumbnails 104-109 are shown in the presentexample, it is noted that only one thumbnail may appear in the tablestyles toolbar 100. Furthermore, the table styles toolbar 100 may notinclude any thumbnails if no table styles are defined.

Each of the thumbnails 104-109 depicts a different table style and ispresented to a user so that the table style is easily recognizable. Inthe present example, enlarged versions of thumbnail 104, thumbnail 106and thumbnail 108 are shown to illustrate how different table styles maybe shown in a thumbnail 104-109. Thumbnail 104 includes shading onheader and total rows and horizontal line delineators; thumbnail 106includes shading on alternate rows; and thumbnail 108 includes shadingin a header row and a header column.

Implementations may differ as to an appropriate size for the thumbnails104-109, an appropriate size being a size at which certain formattingfeatures are clearly visible to a user. In the exemplary implementationshown, fill or border table element formatting is shown, but smallerformatting details such as font, etc. are not. In at least oneimplementation, a thumbnail 104-109 minimum size is 64×48 pixels while aminimum size for the table style shown within a thumbnail is 61×46pixels. However, it is noted that other sizes may be used as long ascertain formatted table elements are visible so as to distinguish onetable style from another.

In one or more implementations, a table style may be previewed on acurrent table when a cursor is placed on a thumbnail 104-109 for apredefined period of time. So if a user wants to see how a particulartable would appear according to a certain table style, the user couldselect the table and then hover the cursor over a thumbnail. After acertain period of time elapsed, the table style shown in the thumbnailover which the cursor is hovered will be temporarily applied to theselected table. The user would then have the choice of selecting thetable style to be applied to the table or to remove the cursor from thethumbnail to remove the temporary formatting.

The exemplary table styles toolbar 100 also includes a scroll bar 110.The table styles toolbar 100 may be limited to a predefined width whichcan be exceeded if more than a certain number of thumbnails aredisplayed. The scroll bar 110 allows a portion of the thumbnails to bedisplayed within the predefined width while providing easy access tomore thumbnails by actuating the scroll bar 110.

These and other features of the exemplary table styles toolbar 100 willbe described in greater detail below, with respect to one or moresubsequent figures.

Exemplary Menu With Modify Option

FIG. 2 depicts an exemplary menu 200 associated with the table stylestoolbar 100 of FIG. 1. The menu includes a modify option 202 that isactuated to modify an existing table style. Other options are alsoincluded but are not relevant to the present discussion.

The exemplary menu 200 is brought up by some user action, e.g. a rightmouse click on one of the thumbnails 104-109. In the present example, auser has activated the exemplary menu 200 by right clicking on thumbnail106.

From the exemplary menu 200, a user can select the modify option 202 tobring up an interface for modifying an existing format of a table stylerepresented by thumbnail 106. One way in which a new table style can becreated is to modify an existing table style through the exemplary menu200 and the modify option 202 and then save the modified table style asa new table style.

An example of such an interface and use thereof to modify an existingtable style is shown and described below, with respect to FIG. 3.

Exemplary Dialog—Modifying a Table Style

FIG. 3 depicts an exemplary dialog 300 for modifying a table style tochange the table style or to create a new table style. The exemplarydialog 300 includes a title bar (“Modify Table Style”) 301, a name field302 and a table element tile 304. The name field 302 provides a placewhere a user can enter a name for a new table style (likely a modifiedversion of an existing table style). The new table style can then beidentified and recalled at any time using the name entered in the namefield 302.

The table element tile 304 includes a list of formattable table elements306 (“Whole Row”, “Header Row”, “Total Row”, etc.) that identifysections of a table that may be formatted distinctly from one or moreother sections of the table. The exemplary dialog 300 includes anelement formatting section 308 that displays current formatting of atable element currently selected from the list of formattable tableelements.

In the example shown in FIG. 3, table element “Total Row” 309 ishighlighted. The current formatting for the “Total Row” table element,as shown in the element formatting section 308 includes: Gils Sans MT10, Bold; Left, Right, Top, Bottom Borders; Left, Center Alignment;Shaded.

Although not explicitly shown here, a table element (such as “TotalRow”) may be formatted as a single element. For example, if a user wantsto apply a color gradient across a total row of cells, the user wouldselect “Total Row” 309 and select a color and/or pattern. The color/andor pattern would be applied across an entire row of cells (e.g. lightershading in the first cell of the row and darker shading in the last cellof the row) instead of to individual cells (e.g. lighter and darkershading in each cell of the row).

The table element tile 304 also includes a scroll bar 310 for scrollingthrough the list of table elements, a table style preview thumbnail 312(hereinafter “preview 312”), and a format button 314. The preview 312 issimilar to the thumbnails 104-109 shown in FIG. 1 and is configured toshow how a table formatted according to the table style being modifiedwould appear under current element formats.

The format button 314, when actuated, brings up a format screen (notshown) that is typical of productivity software application formattingscreens. Such a format screen is used to enter formats for text,borders, lines, cells, etc. When formats are entered, the newly enteredformats appear in the element formatting section 308.

The exemplary dialog 300 also includes a default control 316 where auser can set the table style being modified as a default table style forall tables in a spreadsheet or group of spreadsheets. The exemplarydialog 300 also includes a cancel button 320 and an “OK” button 322. Ifthe cancel button 320 is actuated, previously entered changes arediscarded and the table style remains in the format that previouslyexisted. When a user wants to save the previously entered formatchanges, the user actuates the “OK” button 322 to permanently store thechanges.

Exemplary Formattable Table Elements

FIG. 4 is an exemplary non-exhaustive listing 400 of basic tableelements that may be formatted via the exemplary dialog shown in FIG. 3.The listing 400 of basic table elements provides basic table elementsfrom simple tables that can be formatted. As previously noted, when atable element is selected, subsequently entered formatting commands areapplied to cells contained in the selected table element.

The table elements are shown listed in a precedence order. This ordermay be user-modifiable or pre-configured as shown or in a differentorder. A first table element listed below a second table elementindicates that the second table element takes precedence over the firsttable element. If the first and second table elements intersect, thenthe formatting of the second table element applies to the intersectionif the formatting of the first table element is different from theformatting of the second table element.

Although a precedence order corresponds to the elements listing 400, inat least one implementation certain types of formatting does not excludeother types of formatting of the same element. In very many cases,formatting styles will overlap within tables. If the formatting stylesare incompatible—e.g. each formatting style deals with elementborders—then the precedence order will apply. If, on the other hand, theformatting styles are not incompatible—e.g. bold text and colorfill—then both of the overlapping formats can be applied. In theprevious example, overlapping elements will have bold text and thespecified color fill.

To accomplish such an implementation, compatible formatting styles areidentified, e.g. color fill and bold text. When rendering a formattedtable style, the precedence order takes effect when two or moreoverlapping formatting styles are not identified as being compatiblewith each other.

As noted, the exemplary listing 400 of table elements is not exhaustive.That is, other table elements may be included in the listing in one ormore other implementations. A more detailed description of the listedtable elements follows.

Whole Table: All cells included in the table.

First Row Stripe: Tables may be formatted with alternating stripecolors/shades. The first row stripe corresponds to odd number rows ofthe table.

Second Row Stripe: Corresponds to even number rows of the table.

First Column Stripe: Tables may be formatted with alternating columncolors/shades. The first column stripe corresponds with odd numbercolumns of the table.

Second Column Stripe: Corresponds to even number columns of the table.

Last Column: Cells included in the last (right-most) column of thetable.

First Column: Cells included in the first (left-most) column of thetable.

Header Row: The “Title” area of the pivot. All the rows above the datasection of the table. Filter dropdowns are included in this element.

Total Row: Cells included in the bottom row of the table.

First Header Row Cell: The first (left-most) cell in the header row(i.e. the first row of the table).

Last Header Row Cell: The last (right-most) cell in the header row ofthe table.

First Total Row Cell: The first (left-most) cell in the total row (i.e.the last row of the table).

Last Total Row Cell: The last (right-most) cell in the total row of thetable.

Exemplary Dialog—Modifying a Pivot Table Style

FIG. 5 depicts an exemplary dialog 500 for modifying a pivot tablestyle. Exemplary dialog 500 is similar to exemplary dialog 300 shown inFIG. 3 except that exemplary dialog 500 includes additional tableelements in a table elements section 502. The table elements shown inthe table element section 502 include “Whole Table”, “First Column”,“Grand Total Column”, “Subtotal Column” and “Subtotal Row 1.” Othertable elements may be displayed and are listed below, in FIG. 6.

Exemplary Extended Formattable Table Elements

FIG. 6 is an exemplary non-exhaustive listing 600 of extended tableelements that may be formatted via the exemplary dialog shown in FIG. 5.As previously noted, when a table element is selected, subsequentlyentered formatting commands are applied to cells contained in theselected table element.

The table elements are shown listed in a precedence order. This ordermay be user-modifiable or pre-configured as shown or in a differentorder. A first table element listed below a second table elementindicates that the second table element takes precedence over the firsttable element. If the first and second table elements intersect, thenthe formatting of the second table element applies to the intersectionif the formatting of the first table element is different from theformatting of the second table element.

As noted, the exemplary listing 600 of table elements is not exhaustive.That is, other table elements may be included in the listing in one ormore other implementations. A more detailed description of the listedtable elements follows.

Whole Table: All cells included in the table.

Page Field Labels: Labels next to page field dropdowns.

Page Field Values: Dropdowns for page field items.

First Row Stripe: Tables may be formatted with alternating stripe (row)colors/shades. The first row stripe corresponds to odd number rows ofthe table.

Second Row Stripe: Corresponds to even number rows of the table.

First Column Stripe: Tables may be formatted with alternating columncolors/shades. The first row stripe corresponds to odd number columns ofthe table.

Second Column Stripe: Corresponds to even number columns of the table.

Grand Total Column: Cells included in the last column of the table.Corresponds to “Last Column” table element (FIG. 4).

Subtotal Column 1: Cells in columns of that table containing subtotalsstarting at label cell and extended to Grand Total Row. Subtotal Column1 is outmost subtotal.

Subtotal Column 2: See “Subtotal Column 1”. Subtotal Column 2 appearsnext to Subtotal Column 1 and alternates thereafter with Subtotal Column3.

Subtotal Column 3: See “Subtotal Column 2.”

First Column: Cells included in the first (left-most) column of thetable (to the left of the data).

Blank Row: An empty row. Blank rows can be inserted after each item.

Subtotal Row 1: The first level of subtotals.

Subtotal Row 2: The second level of subtotals. After three levels,Subtotal Row 2 and Subtotal Row 3 alternate.

Subtotal Row 3: See “Subtotal Row 2”.

Row Subheading 1: Rows of the outer most level of the pivot table thatwhere the field is expanded in the pivot table. All the rows for a fieldare considered to be expanded if that row is expanded anywhere in thepivot table.

Row Subheading 2: After the first subheading, the subheadings alternatebetween the 2nd and 3rd subheading formatting. Like Subheading 1, thesesubheadings are rows of the pivot table that where the field is expandedin the pivot table.

Row Subheading 3: See “Row Subheading 3”.

Grand Total Row: Cells included in the bottom row of the table.Corresponds to “Total Row” table element (FIG. 4).

Header Row: The “Title” area of the pivot. All the rows above the datasection of the table. Filter dropdowns are included in this element.

Column Subheading 1: Label for the outermost field on columns. Alsoincludes the label of that level's subtotal column.

Column Subheading 2: Label of the second level of fields on columns.Also includes that level's subtotal columns. After the third level,Column Subheading 2 and Column Subheading 3 alternate.

Column Subheading 3: See “Column Subheading 2”.

First Header Row Cells: First cells in the top (header) row. Correspondsto “First Header Row Cell” table element (FIG. 4).

Exemplary Methodological Implementation: Customized Table Style Creation

FIG. 7 is an exemplary flow diagram depicting an exemplarymethodological implementation of creating a customized table style. Inthe following discussion, continuing reference is made to elements andreference numerals shown in previous figures. It is noted that althoughcertain steps are shown in a particular order in FIG. 7, the steps—or acombination thereof—may be performed in one or more other orders in anyparticular implementation.

At block 702, the table style toolbar (100, FIG. 1) is displayed to auser. As previously, noted, this display may occur in any of severalways. The table style toolbar 100 may be displayed as a part of a largergraphical user interface or may be displayed in response to actuation ofa table style icon. The particular implementation does not matter to thepresent discussion.

At block 704, a user selection of a table style is received. Any mannerknown in the art to effect a user selection may be utilized. Forexample, the selection may be received when the user clicks on athumbnail (104-109, FIG. 1) of a table style. Thereafter at block 706, auser may select the modify option (202, FIG. 2) of the exemplary menu(200, FIG. 2).

At block 708, a table element selection is received. This occurs whenthe user selects a table element from the listing of table elements 306in the table elements tile 304 of the exemplary dialog 300 (FIG. 3). Theuser's manual entry of formatting characteristics is received at block710. If a preview 312 is implemented, the preview is updated with thenew formatting and is displayed at block 712.

If the user enters another table element to format (“Yes” branch, block714), then the process repeats from block 708. If the user does notselect another table element to format (“No” branch, block 714), then atable style name is received at block 716. In at least oneimplementation, if a table style name is not entered, the table stylethat was retrieved via the table style toolbar will be saved with thename previously associated therewith.

At block 718, the table style is stored in memory and is associated withthe table style name entered in block 716.

Exemplary Operating Environment

FIG. 8 is a block diagram depicting a general purpose computingenvironment 800 that may be used in one or more implementationsaccording to the present description. The computing system environment800 is only one example of a suitable computing environment and is notintended to suggest any limitation as to the scope of use orfunctionality of the claimed subject matter. Neither should thecomputing environment 800 be interpreted as having any dependency orrequirement relating to any one or combination of components illustratedin the exemplary operating environment 800.

The described techniques and objects are operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that may be suitable for use include, but are notlimited to, personal computers, server computers, hand-held or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputers,mainframe computers, distributed computing environments that include anyof the above systems or devices, and the like.

The following description may be couched in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thedescribed implementations may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer storage media including memory storage devices.

With reference to FIG. 8, an exemplary system for implementing theinvention includes a general purpose computing device in the form of acomputer 810. Components of computer 810 may include, but are notlimited to, a processing unit 820, a system memory 830, and a system bus821 that couples various system components including the system memoryto the processing unit 820. The system bus 821 may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, and Peripheral ComponentInterconnect (PCI) bus also known as Mezzanine bus.

Computer 810 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 810 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by computer 810. Communication media typically embodiescomputer readable instructions, data structures and/or program.Combinations of the any of the foregoing should also be included withinthe scope of computer readable media.

The system memory 830 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 831and random access memory (RAM) 832. A basic input/output system 833(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 810, such as during start-up, istypically stored in ROM 831. RAM 832 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 820. By way of example, and notlimitation, FIG. 8 illustrates operating system 834, applicationprograms 835, other program modules 836, and program data 837.

The computer 810 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 8 illustrates a hard disk drive 841 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 851that reads from or writes to a removable, nonvolatile magnetic disk 852,and an optical disk drive 855 that reads from or writes to a removable,nonvolatile optical disk 856 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks (DVD), digital video tape, solid state RAM,solid state ROM, and the like. The hard disk drive 841 is typicallyconnected to the system bus 821 through a non-removable memory interfacesuch as interface 840, and magnetic disk drive 851 and optical diskdrive 855 are typically connected to the system bus 821 by a removablememory interface, such as interface 850.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 8, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 810. In FIG. 8, for example, hard disk drive 841 is illustratedas storing operating system 844, application programs 845, other programmodules 846, and program data 847. Note that these components can eitherbe the same as or different from operating system 834, applicationprograms 835, other program modules 836, and program data 837. Operatingsystem 844, application programs 845, other program modules 846, andprogram data 847 are given different numbers here to illustrate that, ata minimum, they are different copies. A user may enter commands andinformation into the computer 810 through input devices such as akeyboard 862 and pointing device 861, commonly referred to as a mouse,trackball or touch pad. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit820 through a user input interface 860 that is coupled to the system bus821, but may be connected by other interface and bus structures, such asa parallel port, game port or a universal serial bus (USB). A monitor891 or other type of display device is also connected to the system bus821 via an interface, such as a video interface 890. In addition to themonitor, computers may also include other peripheral output devices suchas speakers 897 and printer 896, which may be connected through anoutput peripheral interface 895. A camera 863 (such as adigital/electronic still or video camera, or film/photographic scanner)capable of capturing a sequence of images 864 can also be included as aninput device to the personal computer 810. Further, while just onecamera is depicted, multiple cameras could be included as an inputdevice to the personal computer 810. The images 864 from the one or morecameras are input into the computer 810 via an appropriate camerainterface 865. This interface 865 is connected to the system bus 821,thereby allowing the images to be routed to and stored in the RAM 832,or one of the other data storage devices associated with the computer810. However, it is noted that image data can be input into the computer810 from any of the aforementioned computer-readable media as well,without requiring the use of the camera 863.

The computer 810 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer880. The remote computer 880 may be a personal computer, a server, arouter, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 810, although only a memory storage device 881 has beenillustrated in FIG. 8. The logical connections depicted in FIG. 8include a local area network (LAN) 871 and a wide area network (WAN)873, but may also include other networks. Such networking environmentsare commonplace in offices, enterprise-wide computer networks, intranetsand the Internet.

When used in a LAN networking environment, the computer 810 is connectedto the LAN 871 through a network interface or adapter 870. When used ina WAN networking environment, the computer 810 typically includes amodem 872 or other means for establishing communications over the WAN873, such as the Internet. The modem 872, which may be internal orexternal, may be connected to the system bus 821 via the user inputinterface 860, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 810, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 8 illustrates remoteapplication programs 885 as residing on memory device 881. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

Conclusion

While one or more exemplary implementations have been illustrated anddescribed, it will be appreciated that various changes can be madetherein without departing from the spirit and scope of the claimsappended hereto.

The invention claimed is:
 1. A method, comprising: displaying, by acomputing device, a table style user interface, the displayingcomprising presenting a table style for a table comprising a pluralityof cells; receiving a selection from the table style user interfacedisplaying, by the computing device in response to the receiving theselection, a list of a plurality of word phrases that indicate tableelements that each represent an area of the table, where each arearepresents a group of cells of the table's plurality of cells, and wherethe list of the plurality of word phrases is ordered in an order ofprecedence; receiving formatting instructions; formatting the tableaccording to the received formatting instructions; resolving anyincompatible formatting of a cell of the table resulting from theformatting according to the order of precedence of the plurality of wordphrases, the any incompatible formatting further resulting from at leasttwo of the table elements overlapping the cell.
 2. The method as recitedin claim 1, further comprising identifying whether formattinginstructions of a cell of a lower precedence table element arecompatible with formatting instructions of a cell of higher precedencetable element.
 3. The method as recited in claim 1, further comprisingdisplaying a preview thumbnail image that shows an exemplary tableformatted according to the received formatting instructions.
 4. Themethod as recited in claim 1, further comprising displaying a tablestyles tool bar that includes a plurality of thumbnail images thatincludes a representation of the table style, each of the plurality ofthumbnail images illustrating a corresponding one of a plurality oftable styles.
 5. The method as recited in claim 4, wherein the receivingthe selection of the table style is based on a user selecting athumbnail image of the plurality of thumbnail images, the selectedthumbnail image corresponding to the table style.
 6. The method asrecited in claim 5, further comprising temporarily applying the selectedtable style to the table.
 7. The method as recited in claim 1, whereinthe formatting the cells of the higher precedence table element takesprecedence over the formatting the cells of the lower precedence tableelement based on at least a portion of the cells of the higherprecedence table element overlapping at least a portion of the cells ofthe lower precedence table element.
 8. The method as recited in claim 1,wherein the selection of the table style is made by selecting the tablestyle from a table styles toolbar of the table style user interface. 9.The method as recited in claim 1, further comprising applying formattingmodifications to the table according to cell overlap of a table elementwith any others of the plurality of table elements and according to theorder of precedence.
 10. At least one computer-readable storage mediumcomprising an article of manufacture that includesexecutable-instructions that, when executed by a computing device, causethe computing device to display a graphical user interface on a displaydevice, the graphical user interface comprising: a table styles toolbarconfigured for displaying a selectable thumbnail image of a table styleand for displaying a list of a plurality of word phrases that indicatetable elements that each represent an area of the table, and where eacharea represents at least one cell of the plurality of cells; aselectable modify option; and a dialog comprising a list of theplurality of word phrases and configured for receiving a selection, thelist of the plurality of word phrases arranged in an order ofprecedence, and where formatting of cells of a higher precedence tableelement takes precedence over formatting of cells of a lower precedencetable element.
 11. The at least one computer-readable storage medium asrecited in claim 10, the graphical user interface further comprising thetable styles tool bar further configured to, after a selection of theselectable thumbnail image, temporarily apply the table style to aselected table.
 12. The at least one computer-readable storage medium asrecited in claim 10, the graphical user interface further comprising atable name field configured to receive a name of a table and toassociate the table via the name with the table style.
 13. The at leastone computer-readable storage medium as recited in claim 10, wherein theorder or precedence is customizable.
 14. The at least onecomputer-readable storage medium as recited in claim 10, wherein each ofthe plurality of table elements includes a customizable formattingspecification.
 15. The at least one computer-readable storage medium asrecited in claim 10, wherein the formatting of the cells of the higherprecedence table element takes precedence over the formatting of cellsof the lower precedence table element in response to at least a portionof the cells of the higher precedence table element overlapping at leasta portion of the cells of the lower precedence table element.
 16. Atleast one computer-readable storage medium containing executableinstructions that, when executed by a computing device, cause thecomputing device to perform a method comprising: receiving a userselection from the table style user interface displaying, in response tothe receiving the selection, a list of a plurality of word phrases thatindicate table elements that each represent an area of the table, whereeach area represent a group of cells of a plurality of cells of a table,and where the list of the plurality of word phrases is ordered in anorder of precedence; receiving at least one formatting modification;receiving a selection from the table elements, where formatting of cellsof a higher precedence table element takes precedence over formatting ofcells of a lower precedence table element; and applying the at least oneformatting modification to the selected table element.
 17. The at leastone computer-readable storage medium as recited in claim 16, wherein theuser selection of the table style is made by selecting the table stylefrom a table style toolbar of a user interface.
 18. The at least onecomputer-readable storage medium as recited in claim 16, wherein theapplying the at least one formatting modification to the selected tableelement includes applying the at least one formatting modificationaccording to overlap of the table element with any other table elementand the order of precedence.
 19. The at least one computer-readablestorage medium as recited in claim 18, further comprising determining ifformatting of overlapping table elements is compatible.
 20. The at leastone computer-readable storage medium as recited in claim 16, wherein theorder or precedence is customizable.
 21. The at least onecomputer-readable storage medium as recited in claim 16, wherein each ofthe plurality of table elements includes a customizable formattingspecification.
 22. The at least one computer-readable storage medium asrecited in claim 16, wherein the formatting of the cells of the higherprecedence table element takes precedence over the formatting of cellsof the lower precedence table element in response to at least a portionof the cells of the higher precedence table element overlapping at leasta portion of the cells of the lower precedence table element.